package com.example.sid.ui.fragments.elk

import android.graphics.Color
import android.widget.Button
import android.widget.LinearLayout
import android.widget.TextView
import android.widget.Toast
import androidx.fragment.app.Fragment
import com.example.sid.R
import com.example.sid.data.ValueRamStorage.isShowError
import com.example.sid.data.ValueRamStorage.partnerID
import com.example.sid.data.ValueRamStorage.partnerName
import com.example.sid.data.ValueRamStorage.partnerProfileURL
import com.example.sid.ui.fragments.utils.navigateTo
import com.example.sid.utils.Utils

/**
 * Проходной фрагмент разделяющий функционал фичи.
 */
class ELKRootFragment : Fragment(R.layout.fragment_elk_root) {

	private val linearTextList: LinearLayout get() = requireView().findViewById(R.id.way_list)
	private val elkUiWay: Button get() = requireView().findViewById(R.id.elk_ui_way)

	override fun onStart() {
		super.onStart()
		linearTextList.apply {
			addViewWithText("На первом экране(или внутри кода) вы указали следующие настройки: ")
			addViewWithText("Ваш ID - $partnerID")
			addViewWithText("Ваше название компании - $partnerName")
			addViewWithText("Ваш URL до бекенда - $partnerProfileURL")
			addViewWithText("Статус показа ошибки на главном экране ЕЛК - $isShowError")
			val textInitialized = if (Utils.getInitialized()) {
				"Мы инициализированы и можем пойти дальше"
			} else {
				"Мы не инициализированны, зайдите в раздел инициализации и нажмите на кнопку"
			}
			addViewWithText(
				textInitialized,
				textSize = if (Utils.getInitialized()) 18f else 20f,
				textColorInt = if (Utils.getInitialized()) Color.BLACK else Color.RED
			)

		}
		elkUiWay.setOnClickListener {
			if (Utils.getInitialized()){
				navigateTo(ELKRootFragmentDirections.actionELKRootFragmentToBaseUIAndModeFragment())
			} else {
				Toast.makeText(requireContext(), "Мы не инициализированны", Toast.LENGTH_LONG).show()
			}

		}
	}

	private fun LinearLayout.addViewWithText(s: String, textSize: Float = 12f, textColorInt: Int = Color.BLACK) {
		addView(
			TextView(context).apply {
				text = s
				setTextSize(textSize)
				setTextColor(textColorInt)
			}
		)
	}
}